﻿using System;
using System.Linq;

namespace 排队算法
{
    class Program1
    {
        static void Main(string[] args)
        {
            var data = LineUp.Init();
            Console.WriteLine("*****************");
            Console.WriteLine("当前时间为10-11点");
            Console.WriteLine("*****************");

            Console.WriteLine("原始顺序");
            Console.WriteLine("*****************");
            foreach (var item in data)
            {
                Console.WriteLine(item.ToString());
            }
            //把在当前时间班次内的取出来，当前班次之前的未检查的记录取出来，当前班次之后的未检查的记录取出来。
            //优先处理当前时间内的班次，其次是当前时间之前的班次，当前时间之后的的班次按到时间之后再执行

            var dataNow = new DateTime(2021,07,27,10,30,25);
            //查询当前时间属于哪个班次,假设班次名称为3
            //查询当前时间班次的记录
            var nowList = data.Where(c => c.PlanCode=="3");
            var earlyList = data.Where(c => c.PlanCode == "2" || c.PlanCode == "1");
            

            var sortData = data.OrderBy(c => c.TimeFrom).ThenBy(c=>c.SignOrder);
            Console.WriteLine("排序后顺序");
            Console.WriteLine("*****************");
            foreach (var item in sortData)
            {
                Console.WriteLine(item.ToString());
            }
            Console.ReadKey();
        }
    }
}
